summary refs log tree commit diff
path: root/app/about/[name]/page.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/about/[name]/page.tsx')
-rw-r--r--app/about/[name]/page.tsx34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/about/[name]/page.tsx b/app/about/[name]/page.tsx
new file mode 100644
index 0000000..625af62
--- /dev/null
+++ b/app/about/[name]/page.tsx
@@ -0,0 +1,34 @@
+import Markdown from "markdown-to-jsx";
+import { notFound } from "next/navigation";
+
+import InfoBar from "~/components/InfoBar";
+
+import styles from "~/styles/index.module.css"
+import system from "~/config/system.json"
+
+export default function MemberPage({ params: { name } }) {
+  const member = system.members.find(member => member.name.toLowerCase() === name)
+
+  if (!member) notFound()
+
+  return (
+    <>
+      <main className="mainColumn">
+        <InfoBar memberName={member.name} />
+        <p>{member.bioShort}</p>
+        <Markdown>{member.bioContinued}</Markdown>
+        {member.bioFields?.length && (
+
+          <div className={styles.glance}>
+            {member.bioFields.map(({ name, value }) => (
+              <>
+                <span className={styles.label}>{name}</span>
+                <span>{value}</span>
+              </>
+            ))}
+          </div>
+        )}
+      </main >
+    </>
+  )
+}